#!/bin/bash

set -e
# 停止并禁用 firewalld
echo "停止并禁用 firewalld..."
systemctl stop firewalld > /dev/null 2>&1
systemctl disable firewalld > /dev/null 2>&1
echo "firewalld 已停止并禁用。"

# 禁用 SELinux
echo "禁用 SELinux..."
sed -i 's/^SELINUX=.*/SELINUX=disable/' /etc/selinux/config > /dev/null 2>&1
echo "SELinux 已禁用。"

# 设置时区为 Asia/Shanghai
echo "设置时区为 Asia/Shanghai..."
timedatectl set-timezone Asia/Shanghai > /dev/null 2>&1
echo "时区已设置为 Asia/Shanghai。"

# 备份现有的 yum repo 文件
echo "yum 源设置"
echo "备份现有的 yum repo 文件..."
mkdir -p /etc/yum.repos.d/back > /dev/null 2>&1
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/back > /dev/null 2>&1
echo "现有的 yum repo 文件已备份。"

# 下载新的 repo 文件
echo "下载新的 CentOS-Base-aliyun.repo 文件..."
wget -O /etc/yum.repos.d/CentOS-Base-aliyun.repo https://mirrors.aliyun.com/repo/Centos-7.repo > /dev/null 2>&1
echo "CentOS-Base-aliyun.repo 文件下载完成。"

echo "下载新的 epel.repo 文件..."
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo > /dev/null 2>&1
echo "epel.repo 文件下载完成。"

echo "下载新的 CentOS-Base-huawei.repo 文件..."
wget -O /etc/yum.repos.d/CentOS-Base-huawei.repo https://mirrors.huaweicloud.com/repository/conf/CentOS-7-anon.repo > /dev/null 2>&1
echo "CentOS-Base-huawei.repo 文件下载完成。"

# 更新 yum，排除 kernel
# echo "正在进行软件更新, 此项耗时较长, 请耐心等候..."
# yum -y update --exclude=kernel > /dev/null 2>&1
# echo "软件更新 更新完成。"

# 安装必要的软件包
echo "安装必要的软件包..."
yum -y install net-tools nmap screen telnet expect yum-utils device-mapper-persistent-data lvm2 > /dev/null 2>&1
echo "必要软件包已安装。"

# 提示用户是否需要更改主机名
read -p "是否需要更改主机名？(y/n): " change_hostname
if [[ "$change_hostname" == "y" || "$change_hostname" == "Y" ]]; then
  read -p "请输入新的主机名: " HOST_NAME
  hostnamectl set-hostname "$HOST_NAME" > /dev/null 2>&1
  echo "主机名已更改为 $HOST_NAME"
else
  echo "主机名更改已跳过。"
fi

read -p "是否需要美化命令提示符？(y/n): " beautify
if [[ "$beautify" == "y" || "$beautify" == "Y" ]]; then
cat >> ~/.bash_profile <<EOF
PS1='[\[\e[33;1m\]\u@\[\e[35;1m\]\h\[\e[34;1m\] \W\[\e[0m\]]# '
# PS1="\[\033[1;33m\][\A \h]\[\033[1;35m\] \u:\[\033[1;36m\]\w\[\033[0m\]\n\[\033[1;31m\]\\$\[\033[0m\] "
EOF
else
  echo "命令提示符美化已跳过。"
fi

echo "CentOS 7 初始化完成。"
